import { post,httpInstance } from '@/utils/http'

// 基础路径（完整路径：http://localhost:6009/sys-client/cms/sysRole）
const baseUrl = 'http://localhost:6009/sys-client/cms/sysRole'
/**
 * 查询角色分页列表
 * @param {Object} params - 查询参数 { pageNo, pageSize, roleName, status }
 */
export function queryRolePageList(params) {
  return httpInstance.post(`${baseUrl}/queryPageList`, params)
}

/**
 * 新增角色
 * @param {Object} role - 角色信息 { roleName, roleLogo, roleDes, status }
 */
export function addRole(role) {
  return post(`${baseUrl}/insert`, role)
}

/**
 * 修改角色
 * @param {Object} role - 角色信息（含id）
 */
export function updateRole(role) {
  return post(`${baseUrl}/update`, role)
}

/**
 * 删除角色
 * @param {Number} id - 角色ID
 */
export function deleteRole(id) {
  return post(`${baseUrl}/delete`, { id })
}

/**
 * 批量删除角色
 * @param {String} ids - 角色ID列表（逗号分隔）
 */
export function deleteBatchRoles(ids) {
  return post(`${baseUrl}/deleteBatch`, { ids })
}

/**
 * 根据ID查询角色详情
 * @param {Number} id - 角色ID
 */
export function getRoleById(id) {
  const params = new URLSearchParams();
  params.append('id', id);
  return post(`${baseUrl}/get`, params, {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  })
}

/**
 * 修改角色状态
 * @param {Number} id - 角色ID
 * @param {Number} status - 状态（0:禁用,1:启用）
 */
export function updateRoleStatus(id, status) {
  const params = new URLSearchParams();
  params.append('id', id);
  params.append('status', status);
  return post(`${baseUrl}/updateStatus`, params, {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  })
}

/**
 * 获取角色拥有的权限
 * @param {Number} roleId - 角色ID
 */
export function getRolePermissions(roleId) {
  const params = new URLSearchParams();
  params.append('roleId', roleId);
  return post(`${baseUrl}/getRolePermissions`, params, {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  })
}


/**
 * 为角色分配权限
 * @param {Number} roleId - 角色ID
 * @param {String} permissionIds - 权限ID列表（逗号分隔）
 */
export function assignPermissions(roleId, permissionIds) {
  const params = new URLSearchParams();
  params.append('roleId', roleId);
  params.append('permissionIds', permissionIds);
  return post(`${baseUrl}/assignPermissions`, params, {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  })
}





export function getCurrentUserId(token){
  return post(`${baseUrl}/getCurrentUserId`, {}, {
    headers: {
      "Token":token
    }
  });
}
